// const { default: axios } = require("axios")
import { host } from '../config'
console.log('hello world background todo something~111')


// chrome.tabs.query({
//     currentWindow: true,
//     active: true
// }, tabs => {
//     console.log('tabs', tabs)
//     const url = tabs[0].url
//     console.log('url', url)
//     if(url.indexOf('amazon') !== -1) {
//         const asin = url.match(/\/dp\/(B0[\w\d]{8})/)[1]
//         console.log('get asin', asin)
//     } else {
//         console.error('url错误', url)
//     }
// })

const updPrdtApi = `${host}/web.do?fn=updPrdt`
const qryASINApi = `${host}/web.do?fn=qryASIN`
const setASINStateApi = `${host}/web.do?fn=setstate`

const updateAsin = () => {
    return fetch(qryASINApi, {
        method: 'POST',
        body: JSON.stringify({
            // "state": state,
            // "daysUpdate": 1,
            "page": 1,
            "pagesize": 1000
        })
    })
    .then(res => res.json())
    .then(({data = []}) => {
        return data;
        // console.log('update asin', state, data)
        // if(data.length === 0) {
        //     callback({msg})
        // } else {
        //     callback({
        //         updateAsinList: data
        //     })
        //     // data.forEach(item => {
        //     //     fetch(updPrdtApi, {
        //     //         method: 'POST',
        //     //         body: JSON.stringify(item)
        //     //     }).then(res => {
        //     //         console.log('ASIN自动更新成功', res)
        //     //         callback('updated')
        //     //     })
        //     // })
        // }
        // // console.log('qryASIN res >>>', data)
    })

}

chrome.runtime.onMessage.addListener((req, sender, callback) => {
    // axios.post(updPrdtApi, req).then(res => {
    //     console.log('res', res)
    // })
    if(req.asin) {
        setTimeout(async () => {
            const res = await fetch(updPrdtApi, {
                method: 'POST',
                body: JSON.stringify(req)
            })
            // alert(JSON.stringify(res))
            const data = await res.json()
            console.log('updPrdtApi data', data)
            await callback({
                req,
                data
            })
        }, 2000);
    }
    if(req === 'qryASIN') {
        console.log('qryASINApi >>>>>>>>>>>>>', qryASINApi)
        updateAsin().then(res => {
            if(res.length === 0) {
                callback({
                    msg: 'noresult'
                })
            } else {
                callback({
                    updateAsinList: res
                })
            }
        })
        // const p2 = updateAsin(2)
        // Promise.all([p1, p2]).then(([res1, res2]) => {
        //     console.log('res1 - res2', res1, res2)
        //     const res = [].concat(res1, res2)
        //     callback({
        //         updateAsinList: res
        //     })
        // })
        // if(res.length === 0) {
        //     callback({
        //         msg: 'noresult'
        //     })
        // } else {

        // }
    }
    if(req.msg === 'removeAsin') {
        fetch(setASINStateApi, {
            method: 'post',
            body: JSON.stringify({
                asin: req.data,
                state: 2
            })
        }).then(r => r.json()).then(r => {
            if(r.result === 'success') {
                callback({
                    msg: 'deleteok'
                })
            }
        })
    }
    return true
})

// chrome.runtime.onMessage.addListener(() => {
// })